package com.javachamp.innerclasses;

public class DoSomeInnerClass {
	public static void main(String[] args) {
		
		// instantiation 1
		Engine engine1 = new DoSomeInnerClass().new Engine();
		
		// instantiation 2
		DoSomeInnerClass.Engine engine2 = new DoSomeInnerClass().new Engine();
		
		// instantiation 3
		DoSomeInnerClass parent = new DoSomeInnerClass();
		Engine engine3 = parent.new Engine();

		// instantiation 4
//		Engine engine4 = new Engine();
		
		// instantiation 5
		StaticEngine se = new StaticEngine();
		se = new DoSomeInnerClass.StaticEngine();
//		se = new DoSomeInnerClass().new StaticEngine();
	}
	
	class Engine{
		
	}
	
	static class StaticEngine {
		
	}
}
                                                    